স্প্রিং বুট (Spring Boot) একটি জনপ্রিয় ফ্রেমওয়ার্ক যা Java-তে দ্রুত অ্যাপ্লিকেশন তৈরি করার জন্য ব্যবহৃত হয়। যখন আমরা ডেটাবেসের সঙ্গে কাজ করি, তখন Object-Relational Mapping (ORM) ব্যবহার করা হয়, যা Java অবজেক্টগুলিকে ডেটাবেস টেবিলের সঙ্গে ম্যাপ করে। Hibernate, JPA (Java Persistence API) এসব ORM টেকনোলজি হিসেবে ব্যবহৃত হয়। এই প্রযুক্তির মধ্যে কিছু অ্যানোটেশন রয়েছে যা ডেটাবেস রেকর্ডের সাথে স্বয়ংক্রিয়ভাবে কিছু কার্যক্রম পরিচালনা করতে সাহায্য করে। এর মধ্যে জনপ্রিয় অ্যানোটেশনগুলি হল @EntityListeners, @CreatedDate, এবং @LastModifiedDate।
@EntityListeners অ্যানোটেশন
@EntityListeners অ্যানোটেশনটি Entity ক্লাসের জন্য event listeners সেট করার জন্য ব্যবহৃত হয়। এটি বিশেষভাবে Entity এর lifecycle events (যেমন পpersist, update, delete) সুনির্দিষ্ট কাস্টম লজিক যোগ করার জন্য ব্যবহৃত হয়।
@Entity
@EntityListeners(AuditingEntityListener.class)
public class Employee {
// Fields, getters, setters
}
এখানে AuditingEntityListener.class একটি pre-defined listener class যা Entity এর lifecycle events ট্র্যাক করে।
@CreatedDate অ্যানোটেশন
@CreatedDate অ্যানোটেশনটি ডেটাবেস রেকর্ডের তৈরির তারিখ বা সময় স্বয়ংক্রিয়ভাবে ট্র্যাক করতে ব্যবহৃত হয়। যখন একটি নতুন Entity তৈরি হয়, এই অ্যানোটেশনটি সেই Entity-তে creation time ইনজেক্ট করে।
যে কোনো Entity ক্লাসে @CreatedDate ব্যবহারের জন্য @EnableJpaAuditing অ্যানোটেশন ব্যবহার করতে হয়, যা স্প্রিং বুট অ্যাপ্লিকেশনে auditing চালু করে।
@Entity
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@CreatedDate
private LocalDateTime createdDate;
// other fields, getters, setters
}
@LastModifiedDate অ্যানোটেশন
@LastModifiedDate অ্যানোটেশনটি Entity এর শেষ আপডেট টাইম ট্র্যাক করতে ব্যবহৃত হয়। যখন Entity তে কোনো পরিবর্তন করা হয়, এটি স্বয়ংক্রিয়ভাবে শেষ পরিবর্তনের তারিখ বা সময় সংরক্ষণ করে।
@Entity
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@LastModifiedDate
private LocalDateTime lastModifiedDate;
// other fields, getters, setters
}
auditing এনাবল করা
উপরোক্ত অ্যানোটেশনগুলি কাজ করার জন্য আপনাকে @EnableJpaAuditing অ্যানোটেশনটি স্প্রিং কনফিগারেশন ক্লাসে যোগ করতে হবে, যাতে auditing কার্যক্রম সক্রিয় হয়।
@Configuration
@EnableJpaAuditing
public class JpaConfig {
}
স্প্রিং বুট ORM-এর এই অ্যানোটেশনগুলি ব্যবহার করে আপনি ডেটাবেস রেকর্ডের সাথে সম্পর্কিত বিভিন্ন কার্যক্রম যেমন রেকর্ড তৈরি এবং আপডেট সময় ট্র্যাক করা সহজভাবে করতে পারেন। এটি ডেটাবেসে অন্তর্নিহিত তথ্য সংরক্ষণ করতে এবং অ্যাপ্লিকেশনকে আরো কার্যকরী ও স্বয়ংক্রিয়ভাবে পরিচালনা করতে সহায়তা করে।